package com.jwsoft.manager.core.gateway.controller.bigScreen;

import com.bifang.engine.assistant.core.domain.AppResponse;
import com.bifang.engine.protect.core.annotation.NoSignCrypto;
import com.jwsoft.manager.common.vo.bigScreen.analysisXq.StuEnrollDgxxInVO;
import com.jwsoft.manager.common.vo.bigScreen.analysisXq.StuEnrollXxtjVO;
import com.jwsoft.manager.common.vo.bigScreen.analysisXq.StuEnrollXxtjxxInVO;
import com.jwsoft.manager.common.vo.bigScreen.analysisYbm.*;
import com.jwsoft.manager.core.integration.bigScreen.AnalysisXwtjIntegration;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/doc/api/xwtj")
@Tag(name = "大屏学位调剂接口", description = "大屏学位调剂接口")
public class AnalysisXwtjController {
    @Autowired
    private AnalysisXwtjIntegration analysisXwtjIntegration;
    @Operation(summary = "学位调剂总信息",description = "学位调剂总信息")
    @PostMapping(value = "/EduAnalysisXwtj0001", produces = "application/json;charset=UTF-8")
    @NoSignCrypto
    public AppResponse<XwtjOverViewVO> getSchoolOverview(@RequestBody @Validated XwtjOverViewQueryVO vo) {

        return AppResponse.successData(analysisXwtjIntegration.getXwtjInfo(vo));
    }
    @Operation(summary = "学校待调剂信息",description = "学校待调剂信息")
    @PostMapping(value = "/EduAnalysisXwtj0002", produces = "application/json;charset=UTF-8")
    @NoSignCrypto
    public AppResponse<List<StuEnrollXxtjVO>> getStuEnrollXxtjInfo(@RequestBody @Validated StuEnrollXxtjQueryVO vo) {

        return AppResponse.successData(analysisXwtjIntegration.getStuEnrollXxtjInfo(vo));
    }
    @Operation(summary = "学校调剂信息",description = "学校调剂信息")
    @PostMapping(value = "/EduAnalysisXwtj0003", produces = "application/json;charset=UTF-8")
    @NoSignCrypto
    public AppResponse<List<SchEnrollXxtjVO>> getSchEnrollXxtjInfo(@RequestBody @Validated SchEnrollXxtjQueryVO vo) {

        return AppResponse.successData(analysisXwtjIntegration.getSchEnrollXxtjInfo(vo));
    }
    @Operation(summary = "学校待调剂信息详情",description = "学校调剂信息")
    @PostMapping(value = "/EduAnalysisXwtj0004", produces = "application/json;charset=UTF-8")
    @NoSignCrypto
    public AppResponse<Map<String,Object>> getSchEnrollXxtjDetail(@RequestBody @Validated StuEnrollDgxxInVO vo) {

        return AppResponse.successData(analysisXwtjIntegration.getSchEnrollXxtjDetail(vo));
    }
}
